package aiku.numericalcontroloa.Service;

import aiku.numericalcontroloa.Base.Utils.Result;
import aiku.numericalcontroloa.Model.Dto.ClientsDto;
import aiku.numericalcontroloa.Model.Entity.Chat;
import aiku.numericalcontroloa.Model.Entity.Clients;
import aiku.numericalcontroloa.Model.Entity.Current;
import aiku.numericalcontroloa.Model.Vo.ClientsInfoVo;
import aiku.numericalcontroloa.Model.Vo.ClientsVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author 马
* @description 针对表【clients】的数据库操作Service
* @createDate 2024-01-26 09:49:58
*/
public interface ClientsService extends IService<Clients> {

    ClientsInfoVo clientList(Page<Clients> page, String address, String type);

    List<Chat> selectChatByClientId(String clientId);

    Result insertClients(ClientsVo clientsVo);

    Result confirmInsertClients(ClientsVo clientsVo);

    Result insertChat(Chat chat);

    ClientsVo selectClientsById(String id);

    Result updateClients(ClientsVo clientsVo);

    Result deleteClientsById(String id);

    Result auditClients(String id,Integer type);

    ClientsInfoVo selectClientsBySearch(String name);

    Result dispatchClients(String ids, String userId);

    Result selectClientsCountByType(Integer typeOne, Integer typeTwo);

    Result getClientWithDelete(ClientsDto clientsDto);

    Result updateRemindTime(ClientsDto clientsDto);

    Result getClientsList(ClientsDto clientsDto);

    Result surrenderClients(ClientsDto clientsDto);

    Result getClientsCache(ClientsDto clientsDto);

    Result updateClientsApply(ClientsDto clientsDto);

    Result claimClients(ClientsDto clientsDto);

    Result rankingList(ClientsDto clientsDto);

    Result getContactDays();

    Result updateContactDays(Current current);
}
